<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en" xml:lang="en" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<head>
<META http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Guideline: Prioritizing Work Items</title>
<meta name="uma.type" content="Guideline">
<meta name="uma.name" content="prioritizing_work_items">
<meta name="uma.presentationName" content="Prioritizing Work Items">
<meta name="element_type" content="other">
<meta name="filetype" content="description">
<meta name="role" content="">
<link rel="StyleSheet" href="./../../../css/default.css" type="text/css">
<script src="./../../../scripts/ContentPageResource.js" type="text/javascript" language="JavaScript"></script><script src="./../../../scripts/ContentPageSection.js" type="text/javascript" language="JavaScript"></script><script src="./../../../scripts/ContentPageSubSection.js" type="text/javascript" language="JavaScript"></script><script src="./../../../scripts/ContentPageToolbar.js" type="text/javascript" language="JavaScript"></script><script src="./../../../scripts/contentPage.js" type="text/javascript" language="JavaScript"></script><script type="text/javascript" language="JavaScript">
					var backPath = './../../../';
					var imgPath = './../../../images/';
					var nodeInfo=null;
					contentPage.preload(imgPath, backPath, nodeInfo,  '', false, false, false);
				</script>
</head>
<body>
<div id="breadcrumbs"></div>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top"><a name="Top"></a>
<div id="page-guid" value="_oVMZADSoEdy07ZJqOGUGaQ"></div>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tr>
<td class="pageTitle" nowrap="true">Guideline: Prioritizing Work Items</td><td width="100%">
<div align="right" id="contentPageToolbar"></div>
</td><td width="100%" class="expandCollapseLink" align="right"><a name="mainIndex" href="./../../../index.htm"></a><script language="JavaScript" type="text/javascript" src="./../../../scripts/treebrowser.js"></script></td>
</tr>
</table>
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td class="pageTitleSeparator"><img src="./../../../images/shim.gif" alt="" title="" height="1"></td>
</tr>
</table>
<div class="overview">
<table width="97%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="50"><img src="./../../../images/guidance.gif" alt="" title=""></td><td>
<table class="overviewTable" border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top">This guidelines describes work items prioritization throughout the project lifecycle.</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
<div class="sectionHeading">Relationships</div>
<div class="sectionContent">
<table class="sectionTable" border="0" cellspacing="0" cellpadding="0">
<tr valign="top">
<th class="sectionTableHeading" scope="row">Related Elements</th><td class="sectionTableCell">
<ul>
<li>
<a href="./../../../practice.mgmt.iterative_dev.base/tasks/plan_iteration_957C90DC.html" guid="_0keUEMlgEdmt3adZL5Dmdw">Plan Iteration</a>
</li>
</ul>
</td>
</tr>
</table>
</div>
<div class="sectionHeading">Main Description</div>
<div class="sectionContent">
<table class="sectionTable" border="0" cellspacing="0" cellpadding="0">
<tr valign="top">
<td class="sectionTableSingleCell"><h3>
    What is prioritized?
</h3>
<p>
    Prioritization should happen for work items, such as enhancement requests,&nbsp;requirements, defects, project tasks, and so on.
    The work items list provides one place for prioritizing work. Prioritizing units of work that are too small may lead to
    analysis-paralysis.
</p>
<h3>
    Who prioritizes?
</h3>
<p>
    Prioritization is done by the extended team. Here are some examples on how different team members contribute to the
    prioritization:
</p>
<ul>
    <li>
        Analysts&nbsp;collaborate with stakeholders to establish the initial priorities for work items to implement, such
        as features, use cases, and scenarios.
    </li>
    <li>
        Architects&nbsp;collaborate with stakeholders and the development team to identify the architecturally significant use
        cases and scenarios, and re-prioritize these so that the team understands what needs to be done to drive down technical
        risk, and&nbsp;to make progress&nbsp;on&nbsp;evolving the product in a technically sensible fashion.
    </li>
    <li>
        Developers&nbsp;and&nbsp;testers help define&nbsp;(but do not decide) the priorities of defects relative to achieving
        iteration objectives.
    </li>
    <li>
        Project managers facilitate (but do not decide), driving convergence on what the team should focus on when planning a
        project, planning an iteration, and managing an iteration. They do this in order to ensure smooth execution, and that the
        perspectives of all team members are properly heard. When the team cannot gain consensus in a reasonable time, the
        project manager has final say on the priority of work items that are too small to warrant the attention of the
        paying stakeholders.
    </li>
    <li>
        Stakeholders&nbsp;that pay for the application have the final say on what capabilities to prioritize.
    </li>
</ul>
<h3>
    When do you prioritize?
</h3>
<p>
    When you&nbsp;enter a new work item in&nbsp;the Work Items List, give it an initial priority. Priorities are always
    changing. The sections below describe what re-prioritization is done when you are planning a project,
    planning an iteration,&nbsp;or managing an iteration.
</p>
<h4>
    Prioritizing when planning a project
</h4>
<p>
    During project planning,&nbsp;prioritize the key features, use cases, and scenarios. Also, potentially assign them
    to&nbsp;iterations as a part of laying out the project plan, by defining at a high level what should be done when.
    These priorities will be revised later on as iterations are planned.
</p>
<p>
    When starting a project where an existing application will be enhanced,&nbsp;a Work Items List may exist from past
    projects and usage of the application. If this is the case,&nbsp;go through the Work Items List to survey and
    re-prioritize existing work items, so&nbsp;that the team understands what to focus on.
</p>
<h4>
    Prioritizing when planning an iteration
</h4>
<p>
    When planning what to deliver for an iteration,&nbsp;the team needs to balance what delivers immediate value to the
    stakeholders with what risks need to be mitigated.The chosen balance should be reflected in the iteration objectives,
    which then drive further prioritization and assignments of work items to the next iteration. This exercise should be
    done by the entire team to reflect all of the key perspectives, such as technical ("doing task A before task B saves you
    time"), managerial ("we do not have anybody that knows that legacy application until next iteration", or business
    ("this scenario is more important than that scenario").
</p>
<h4>
    Prioritizing when managing an iteration
</h4>
<p>
    The recommendation is not to&nbsp;expand or change the scope of an iteration, because this will almost certainly lead to
    scope creep, as well as potential confusion among the team on what to work on. As new features and enhancements are requested,
    capture them in the Work Items List, but do not assign them to the current iteration.
</p>
<p>
    During an iteration, you are developing and testing code. As you develop solution increments, you will find defects. In
    most cases, you will directly fix trivial&nbsp;defects as you find them during development. Examples of such defects
    are the many problems you find as you implement your code (for example, using a test-driven development approach or
    doing your regular unit tests). In other cases, the defect should be captured as a work item. This allows it to be
    prioritized, and potentially developed by somebody else or at a different time. If a defect needs to be addressed to
    provide an iteration build of reasonable quality&nbsp;and that&nbsp;aligns with the&nbsp;iteration objectives,&nbsp;the
    defect&nbsp;should be&nbsp;fixed&nbsp;during the current iteration. Note that this is not a creep or change of scope,
    since it merely indicates that something needs to be fixed to deliver what&nbsp;the team&nbsp;already committed to.
</p>
<h3>
    How do you prioritize?
</h3>
<p>
    Prioritizing is the difficult balancing of frequently competing priorities. For more information on the art of
    prioritizing, see for example [<a class="elementLinkWithUserText" href="./../../../core.default.nav_view.base/guidances/supportingmaterials/references_C6FF2A8D.html#COH05" guid="__nHToFndEd2EdJKkAyeBng">COH05</a>].
</p></td>
</tr>
</table>
</div>
<table class="copyright" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="copyright"><p> This program and the accompanying materials are made available under the<br />
  <a href="http://www.eclipse.org/org/documents/epl-v10.php" target="_blank">Eclipse 
  Public License V1.0</a>, which accompanies this distribution. </p><p/><p> <a class="elementLink" href="./../../../core.default.release_copyright.base/guidances/supportingmaterials/openup_copyright_C3031062.html" guid="_UaGfECcTEduSX6N2jUafGA">OpenUP Copyright</a></p></td>
</tr>
</table>
</td>
</tr>
</table>
</body>
<script type="text/javascript" language="JavaScript">
				contentPage.onload();
			</script>
</html>
